package xyz.xmh.pattern.creational.abstractfactorypattern;

/**
 * FactoryProducer
 * 创建具体的工厂
 *
 * @author xuMingHai
 * @since 2021/4/27 星期二 17:26
 */
public class FactoryProducer {

    /**
     * 形状工厂
     */
    private static final String SHAPE = "SHAPE";

    /**
     * 颜色工厂
     */
    private static final String COLOR = "COLOR";

    /**
     * 根据工厂类型，创建具体工厂
     *
     * @param factoryType 工厂类型
     * @return 具体的工厂
     */
    public static AbstractFactory getFactory(String factoryType) {
        if (factoryType.equalsIgnoreCase(SHAPE)) {
            return new ShapeFactory();
        }
        else if (factoryType.equalsIgnoreCase(COLOR)) {
            return new ColorFactory();
        }
        return null;
    }

}
